//package br.com.virtual.cadastrar.dao.impl;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import br.com.virtual.base.dao.impl.BaseDaoImpl;
//import br.com.virtual.cadastrar.dao.ClienteDAO;
//import br.com.virtual.cadastrar.model.Cliente;
//import br.com.virtual.cadastrar.model.Usuario;
//
//public class ClienteDAOImpl extends BaseDaoImpl implements ClienteDAO {
//
//	@Override
//	public Cliente create(Cliente cliente) { 
//
//		getManager().persist(cliente);
//		return cliente;
//	}
//
//	@Override
//	public Cliente read(Long id) {
//		return getManager().find(Cliente.class, id);
//	}
//
//	@Override
//	public void update(Cliente cliente) {
//		getManager().merge(cliente);
//	}
//
//	@Override
//	public void delete(Cliente cliente) {
//		getManager().remove(read(cliente.getId()));
//	}
//
//	@Override
//	public List<Cliente> getList() {
//		return this.list("");
//	}
//
//	@Override
//	public List<Cliente> getListAtivo() {
//		return this.list(" where c.ativo = true ");
//	}
//
//	private List<Cliente> list(String where) {
//		return new ArrayList<Cliente>(getManager().createQuery(
//				"from Cliente c " + where, Cliente.class).getResultList());
//	}
//
//	@Override
//	public Cliente findByUsuario(Usuario usuario) {
//
//		try {
//			Cliente c = getManager()
//					.createQuery(" from Cliente c where c.usuario = :usuario ",
//							Cliente.class).setParameter("usuario", usuario)
//					.getSingleResult();
//			return c;
//		} catch (Exception e) {
//			return null;
//		}
//	}
//
//}
